/* --------------------------------------------------- ABM USUARIOS----------------------------------------------------------------*/
$(document).ready(function(){
	var oTable1 = $('#sample-table-2').dataTable({
		//Permite o no guardar el numero de pagina que estaba seleccionada mediante una cookie y al recargar no se pierde la seleccion
		"bStateSave":true,
		//Permite poner los elementos del combo para cambiar la cantidad de filas a visualizar
		"aLengthMenu": [[30, 10, 25, -1], [30, 10, 25, "Todos"]],
		//Cantidad de filas de la tabla por pagina
		"iDisplayLength":30,
		//Ordena las filas por el valor de la columna n de forma ascendente o descendente. La columna inicial es la 0
		"aaSorting": [[ 1, "asc" ]],
		//Para que los mensajes se muestren en español
		"oLanguage": {
			"sProcessing":   "Procesando...",
			"sLengthMenu":   "Mostrar _MENU_ registros",
			"sZeroRecords":  "No se encontraron resultados",
			"sInfo":         "Mostrando desde _START_ hasta _END_ de _TOTAL_ registros",
			"sInfoEmpty":    "Mostrando desde 0 hasta 0 de 0 registros",
			"sInfoFiltered": "(filtrado de _MAX_ registros en total)",
			"sInfoPostFix":  "",
			"sSearch":       "Buscar:",
			"sUrl":          "",
			"oPaginate": {
				"sFirst":    "Primero",
				"sPrevious": "Anterior",
				"sNext":     "Siguiente",
				"sLast":     "&Uacute;ltimo"
			}
		},
		
		"aoColumns": [
		  { "bSortable": false }, { "bSortable": true }, { "bSortable": true }, { "bSortable": true }, { "bSortable": true }, { "bSortable": true }, { "bSortable": true }, { "bSortable": true }
		]
	});
	
	$('table th input:checkbox').on('click' , function(){
		var that = this;
		$(this).closest('table').find('tr > td:first-child input:checkbox')
		.each(function(){
			this.checked = that.checked;
			$(this).closest('tr').toggleClass('selected');
		});
	});
});

/*Este metodo se llama cuando en el metodo consultar usuarios se aprieta el boton eliminar de cada registro*/
function eliminarUsuario(url, nombreUsuario, nombrePersona){
	var resp = confirm("Realmente desea eliminar al usuario: '"+nombreUsuario+" de "+nombrePersona+"'?");
	if(resp == true){
		$("#cuerpo").load(url, function(){});
	}
}

//Este metodo se llama cuando se tiene que modificar el password de un usuario
function modificarPassword(){
	//Datos de los usuarios
	var passwordActual = document.getElementById("passwordActual");
	var nuevoPassword = document.getElementById("nuevoPassword");
	var repetirPassword = document.getElementById("repetirPassword");
	
	if(passwordActual.value != "" && passwordActual.value.length >= 6 && 
	   nuevoPassword.value != "" && nuevoPassword.value.length >= 6 && 
	   repetirPassword.value != "" && repetirPassword.value.length >= 6 && 
	   nuevoPassword.value==repetirPassword.value){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formUsuario");
		formulario.submit();
		
		//Inicializamos todos campos a vacios.
		//Campos de los usuarios
		passwordActual.value = "";
		nuevoPassword.value = "";
		repetirPassword.value = "";
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad
		//Campos de los usuarios
		$("#campoPasswordActual").removeClass("has-error");
		$("#campoNuevoPassword").removeClass("has-error");
		$("#campoRepetirPassword").removeClass("has-error");
		
		//Le damos el foco al primer campo a completar
		$("#passwordActual").focus();
	}else{
		var mensaje = "";
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		//Campos de los usuarios		
		if(passwordActual.value == "" || passwordActual.value.length < 6) $("#campoPasswordActual").addClass("has-error"); else $("#campoPasswordActual").removeClass("has-error");
		if(nuevoPassword.value == "" || nuevoPassword.value.length < 6 || nuevoPassword.value != repetirPassword.value) $("#campoNuevoPassword").addClass("has-error"); else $("#campoNuevoPassword").removeClass("has-error");
		if(repetirPassword.value == "" || repetirPassword.value.length < 6 || nuevoPassword.value != repetirPassword.value){
			$("#campoRepetirPassword").addClass("has-error");
			mensaje = " El nuevo password y su repetici\u00f3n no coinciden.";
		} else {
			$("#campoRepetirPassword").removeClass("has-error");
		}
	
		alert("Por favor, ingrese todos los datos marcados como obligatorios." + mensaje);
	}
}